| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

System.h
1 // System.h
3 //
5
6 namespace nkGraphics
7 {
13 class System final : public nkCommon::MaybeSingletonClass<nkGraphics::MainSystem>
14 {
15 public :
16
20 System () noexcept ;
24 ~System () ;
25
26 // Getters
30 nkWinUi::System* getUiSystem () const ;
34 Renderer* getRenderer () const ;
38 ContentLoader* getContentLoader () const ;
42 MeshDataLinkTracker* getMeshDataLinkTracker () const ;
46 AsyncWorker* getAsyncWorker () const ;
50 BlendStateManager* getBlendStateManager () const ;
54 BufferManager* getBufferManager () const ;
58 CameraManager* getCameraManager () const ;
62 CompositorManager* getCompositorManager () const ;
66 DepthStencilStateManager* getDepthStencilStateManager () const ;
70 LogManager* getLogManager () const ;
74 MeshManager* getMeshManager () const ;
78 NodeManager* getNodeManager () const ;
82 ProgramManager* getProgramManager () const ;
86 RasterStateManager* getRasterStateManager () const ;
90 RenderContextManager* getRenderContextManager () const ;
94 RenderQueueManager* getRenderQueueManager () const ;
98 ResourceManager* getResourceManager () const ;
102 SamplerManager* getSamplerManager () const ;
106 ShaderManager* getShaderManager () const ;
110 TextureManager* getTextureManager () const ;
114 ViewportManager* getViewportManager () const ;
118 bool getIsInitialized () const ;
122 bool getHasRunToContinue () const ;
126 bool getIsShuttingDown () const ;
127
128 // Setters
134 void setHasRunToContinue (bool value) ;
135
136 // To start
145 bool initialize (const Configuration& config = Configuration()) ;
154 void run (RenderContext* context, std::function<void ()> loopCallback = [] () {}) ;
155
156 // To end
160 void shutdown () ;
161
162 // Step by step
169 bool frame (RenderContext* context) ;
176 void tickForNewFrame (RenderContext* context) ;
177 } ;
178 }
nkGraphics::System::getLogManager
LogManager * getLogManager() const
nkGraphics::System::initialize
bool initialize(const Configuration &config=Configuration())
nkGraphics::System::frame
bool frame(RenderContext *context)
nkGraphics::System::getRenderer
Renderer * getRenderer() const
nkGraphics::System::setHasRunToContinue
void setHasRunToContinue(bool value)
nkGraphics::System
Main interface with the component system.
Definition: System.h:14
nkGraphics::SamplerManager
Manages the samplers recorded.
Definition: SamplerManager.h:15
nkGraphics::ResourceManager
Generic resource manager, enabling more intelligent processing of resources, compared to the ContentL...
Definition: ResourceManager.h:12
nkGraphics::System::getRasterStateManager
RasterStateManager * getRasterStateManager() const
nkGraphics::System::getAsyncWorker
AsyncWorker * getAsyncWorker() const
nkGraphics::System::getResourceManager
ResourceManager * getResourceManager() const
nkGraphics::System::getMeshManager
MeshManager * getMeshManager() const
nkGraphics::System::tickForNewFrame
void tickForNewFrame(RenderContext *context)
nkGraphics::RenderQueueManager
Manages the render queues recorded.
Definition: RenderQueueManager.h:15
nkGraphics::System::getSamplerManager
SamplerManager * getSamplerManager() const
nkGraphics::RenderContext
A rendering context, attached to a window or an offscreen texture.
Definition: RenderContext.h:14
nkGraphics::Renderer
A renderer, implementing the logic of using a graphics API.
Definition: Renderer.h:20
nkGraphics::System::System
System() noexcept
nkGraphics::DepthStencilStateManager
Manages the depth stencil states recorded.
Definition: DepthStencilStateManager.h:15
nkGraphics::LogManager
Responsible for logging all messages from the component.
Definition: LogManager.h:14
nkGraphics::System::getIsShuttingDown
bool getIsShuttingDown() const
nkGraphics::ShaderManager
Manages the shaders recorded.
Definition: ShaderManager.h:15
nkGraphics::ProgramManager
Manages the programs recorded.
Definition: ProgramManager.h:15
nkGraphics::System::getDepthStencilStateManager
DepthStencilStateManager * getDepthStencilStateManager() const
nkGraphics::System::getHasRunToContinue
bool getHasRunToContinue() const
nkGraphics::System::getTextureManager
TextureManager * getTextureManager() const
nkGraphics::System::getProgramManager
ProgramManager * getProgramManager() const
nkGraphics::System::run
void run(RenderContext *context, std::function< void()> loopCallback=[]() {})
nkGraphics::System::getViewportManager
ViewportManager * getViewportManager() const
nkGraphics::System::getBufferManager
BufferManager * getBufferManager() const
nkGraphics::Configuration
Configuration for the system's initialization.
Definition: Configuration.h:12
nkGraphics::RasterStateManager
Manages the raster states available in the component.
Definition: RasterStateManager.h:14
nkGraphics::ViewportManager
Manages the viewports available in the component.
Definition: ViewportManager.h:14
nkGraphics::MeshManager
Manages the meshes recorded.
Definition: MeshManager.h:15
nkGraphics::System::getUiSystem
nkWinUi::System * getUiSystem() const
nkGraphics::RenderContextManager
Manages the render contexts recorded.
Definition: RenderContextManager.h:15
nkGraphics::ContentLoader
Utility class that allows to load content through their declaration files.
Definition: ContentLoader.h:12
nkGraphics::System::getNodeManager
NodeManager * getNodeManager() const
nkGraphics::System::getContentLoader
ContentLoader * getContentLoader() const
nkGraphics::BufferManager
Manages the buffers recorded.
Definition: BufferManager.h:15
nkGraphics::System::getIsInitialized
bool getIsInitialized() const
nkGraphics::CompositorManager
Manages the compositors recorded.
Definition: CompositorManager.h:15
nkGraphics::CameraManager
Manages the cameras recorded.
Definition: CameraManager.h:15
nkGraphics::TextureManager
Manages the textures available in the component.
Definition: TextureManager.h:14
nkGraphics::System::getShaderManager
ShaderManager * getShaderManager() const
nkGraphics::NodeManager
Manages the nodes recorded.
Definition: NodeManager.h:15
nkGraphics::System::getCameraManager
CameraManager * getCameraManager() const
nkGraphics::System::getMeshDataLinkTracker
MeshDataLinkTracker * getMeshDataLinkTracker() const
nkGraphics::System::getBlendStateManager
BlendStateManager * getBlendStateManager() const
nkGraphics::System::getCompositorManager
CompositorManager * getCompositorManager() const
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkWinUi
Encompasses all API of component NilkinsWinUi.
Definition: Clipboard.h:7
nkGraphics::System::getRenderQueueManager
RenderQueueManager * getRenderQueueManager() const
nkGraphics::BlendStateManager
Manages the blend states recorded.
Definition: BlendStateManager.h:15
nkGraphics::System::shutdown
void shutdown()
nkGraphics::System::getRenderContextManager
RenderContextManager * getRenderContextManager() const